#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>

int main(void){
  printf("父进程%d创建成功\n",getpid());
  printf("父进程开始创建子进程。。。\n");
  pid_t son_pid = fork();
  if(son_pid==-1){
    perror("fork");
    exit(EXIT_FAILURE);
  }
  // 判断是子进程在执行，还是父进程
  if(son_pid==0){
    printf("子进程：我%d是被父进程%d创建的\n",
      getpid(),getppid());
    printf("子进程休眠10s\n");
    sleep(10);
    printf("请输入姓名:");
    char name[10];
    scanf("%s",name);
    printf("你的名字:%s\n",name);
  }else{
    printf("父进程：父进程%d创建子进程成功，子进程PID为：%d\n",
      getpid(),son_pid);
    printf("父进程休眠5s\n");
    sleep(5);
  }
  return 0;
}
